package com.fun_ordering.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class FoOrder implements Serializable {
    private Integer orderId;

    private String customerId;

    private Integer tableId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    private BigDecimal totalPrice;

    private Integer isDelete;

    private Integer orderStatus;

    private Integer payStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date finishTime;

    private String tradeNo;

    private String refundNo;

    private String refundResason;

    private List<OrderDetail> orderDetailList;

    private FoStatus foStatus;
    private static final long serialVersionUID = 1L;

    @Override
    public String toString() {
        return "FoOrder{" +
                "orderId=" + orderId +
                ", customerId='" + customerId + '\'' +
                ", tableId=" + tableId +
                ", startTime=" + startTime +
                ", totalPrice=" + totalPrice +
                ", isDelete=" + isDelete +
                ", orderStatus=" + orderStatus +
                ", payStatus=" + payStatus +
                ", finishTime=" + finishTime +
                ", tradeNo='" + tradeNo + '\'' +
                ", refundNo='" + refundNo + '\'' +
                ", refundResason='" + refundResason + '\'' +
                ", orderDetailList=" + orderDetailList +
                '}';
    }

    public FoStatus getFoStatus() {
        return foStatus;
    }

    public void setFoStatus(FoStatus foStatus) {
        this.foStatus = foStatus;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public String getRefundNo() {
        return refundNo;
    }

    public void setRefundNo(String refundNo) {
        this.refundNo = refundNo;
    }

    public String getRefundResason() {
        return refundResason;
    }

    public void setRefundResason(String refundResason) {
        this.refundResason = refundResason;
    }

    public List<OrderDetail> getOrderDetailList() {
        return orderDetailList;
    }

    public void setOrderDetailList(List<OrderDetail> orderDetailList) {
        this.orderDetailList = orderDetailList;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId == null ? null : customerId.trim();
    }

    public Integer getTableId() {
        return tableId;
    }

    public void setTableId(Integer tableId) {
        this.tableId = tableId;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }
}